package com.kira.scaffoldmvc.Function;

import java.util.concurrent.CompletableFuture;

public class TestFunctional {

    public static void main(String[] args) {
        // 使用lambda表达式实现NoticeCallback接口
        asynSend("Kira_Test","Id7263",
        (callback) -> {//拿到回调的内容然后输出
            System.out.println(callback);
        });

        // 为了能看到异步执行的结果，让主线程稍等片刻
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }


    public static void asynSend(String message,String Id, NoticeCallback callback) {
        // 使用CompletableFuture异步执行任务
        CompletableFuture.runAsync(() -> {
            // 这里是异步执行的逻辑
            System.out.println("异步发送消息: " + message);

            // 模拟一些耗时操作
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            // 任务完成后调用回调函数,也就是返回回调的内容
            callback.call("任务"+Id+":执行结束,执行消息为:"+message);
        });
    }
}